// import * as signalR from '@microsoft/signalr';

// // 定义 SignalRService 类
// export default class SignalRService {
// 	//option为调用SignalRService 类传进来的参数
//     constructor(option:any) {
//         // 初始化 SignalR 连接对象为 null
//         connection = null;
        
//         //this.url = options.url || "";
//         // 初始化重试次数为 0
//         this.retryCount = 0;
//         // 最大重试次数
//         this.maxRetryAttempts = 5;
//         // 重试间隔（毫秒）
//         this.retryInterval = 5000;
//     }

//     // 初始化 SignalR 连接的方法
//     initSignalR(url) {
//         // 创建 SignalR 连接对象，并指定后端的 URL
//         this.connection = new signalR.HubConnectionBuilder()
//           .withUrl(url)
//           .build();

//         // 调用启动连接的方法
//         this.startConnection();
//     }

//     // 实际启动连接的方法
//     startConnection() {
//         // 尝试启动连接
//         this.connection.start().then(() => {
//             // 连接成功，打印日志并重置重试次数
//             console.log('Connected to SignalR successfully!');
//             this.retryCount = 0;
//         }).catch(err => {
//             // 连接失败，打印错误日志
//             console.error('Error connecting to SignalR:', err);
//             // 如果重试次数小于最大重试次数
//             if (this.retryCount < this.maxRetryAttempts) {
//                 // 设置一个定时器，在指定间隔后重试连接，并增加重试次数
//                 setTimeout(() => {
//                     this.retryCount++;
//                     this.startConnection();
//                 }, this.retryInterval);
//             }
//         });
//     }

//     // 用于注册消息接收回调函数的方法
//     onMessageReceived(callback) {
//         //.net 在连接对象上注册消息接收事件的回调函数
//         this.connection.on("MessageReceived", callback);
//         java 在连接对象上注册消息接收事件的回调函数
//         //this.connection.on("message", callback);
//     }

//     // 停止 SignalR 连接的方法
//     stopSignalR() {
//         // 如果存在连接对象
//         if (this.connection) {
//             // 停止连接，并打印日志
//             this.connection.stop();
//             console.log('Disconnected from SignalR.');
//         }
//     }
// }